The rapid evolution and advancement of computers and computer-based technologies, beginning with the early vacuum-tube-based computers of the 1940s and 1950s and progressing to vast parallel-processing, distributed computer systems interconnected to vast electronic data-storage facilities and world-spanning electronic communications media, has spawned a large number of complex technical and scientific fields within the computational domain. As one example, the field of database management systems emerged in the 1960s to play an increasingly large role in academic and commercial computing. As hardware data-storage devices evolved to provide rapidly increasing data-storage capacities and data-transfer bandwidths, and as computer processing bandwidths increased at similar rates, systems and techniques for systematic and structured organization of, and access to, stored data were developed to facilitate implementation of data-related computational tasks. Early indexed-file-based and record-based database systems with relatively primitive access interfaces were gradually replaced with database management systems providing sophisticated algebraic data models and algebra-based query languages, automated backup and redundancy, and a rich assortment of database-related facilities and capabilities, including automated report generation.
Relational database management systems, which generally provide structured-query-language (“SQL”) interfaces, have been the dominant type of database-management-system (“DBMS”) for the past three decades. The SQL query language and relational algebra provide the basis for creating and maintaining complex, well-structured databases and for developing and executing complex query-based methods for accessing, analyzing, and manipulating data stored within relational DBMSs. Queries expressed in SQL can be optimized by sophisticated query optimization components of database management systems. Relational database management systems generally store data in relational tables, each comprising multiple rows having multiple columns. The columns represent fields within relational-table rows corresponding to database records. SQL provides built-in functions and operations for defining relational tables, inserting data into relational tables, extracting data from relational tables, and for expressing complex queries that may span a vast number of rows and large numbers of different relational tables within a relational DBMS. Over the years, additional types of features and functions have been steadily added to the relational DBMS model and to the SQL language. For example, SQL has been enhanced to support large, unstructured-data fields, object-oriented features, user-defined stored procedures, and user-defined functions. User-defined functions (“UDFs”) encapsulate one or more standard SQL statements in a function format, similar to functions in procedural languages, which can be called from standard SQL statements. Just like functions in procedural languages, user-defined functions in SQL and other DBMS query languages allow users to define useful collections of SQL statements in one operation and location, and to then invoke the encapsulated statements from within SQL statements via a simple function call. As with procedural-computer-language functions, user-defined functions in SQL and other DBMS query languages are constrained with regard to invocation patterns. While such constraints are used to render user-defined functions interpretable and/or compliable by automated query-language interpreters and/or compilers, invocation-pattern constraints may constrain the utility of user-defined functions for many applications and task domains to which users may wish to apply them. Designers, developers, vendors, and users of DBMSs and DBMS query languages continue to encounter task domains to which application of currently available types of user-defined functions is difficult or impractical, and therefore seek new approaches for addressing these task domains.